//定义store
import { defineStore } from 'pinia'
import {ref} from 'vue'
/*
    第一个参数是名字，唯一性
    第二个参数是一个函数，函数内部可以定义状态的所有内容

    返回值为函数
*/
export const useTokenStore = defineStore('token',()=>{
    //定义状态内容

    //响应式变量
    const token = ref('')


    //定义函数，用来修改token的值
    const setToken = (newToken)=>{
        token.value = newToken
    }

    //定义函数，移除token值
    const removeToken = ()=>{
        token.value = ''
    }

    //定义函数
    const clearToken = ()=>{
        this.token = null
        // 如果 token 同时存储在 localStorage 中，也需要清除
        localStorage.removeItem('token')
    }

    return{
        token,setToken,removeToken,clearToken
    }
},{
    persis:true//持久化存储
});